Automated tissue assay using standardized chemicals and packages

ABSTRACT

. 
     A system which performs a plurality of independent analysis procedures simultaneously, possibly involving differing types of tissues and differing process steps, comprising a robotic arm, which may move the different tissue samples among the plurality of processing stations, and a processor, which may select the order, timing and location of the tissue sample. The robotic device may comprise a bench robot with rectilinear motion or a rotatable tower. The processing stations may be disposed in a set of grid locations, which comprise workstations for performing individual steps of the procedures. In response to timing information about the procedures, the processor may select the sample to be moved. The processor may examine the multiple procedures for timing conflicts and it may adjust the sequence of steps for the procedures, the timing of steps with a specified range of times, or the order of the samples in order to avoid conflicts and to minimize the total time required by the system to complete the procedures. The operator may create or edit templates for workstations, create or edit lists of process steps for procedures, monitor the progress of ongoing procedures, or override the determination of what process steps to perform.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of application Ser. No. 08/252,282,filed May 31, 1994, U.S. Pat. No. 5,696,887 which is acontinuation-in-part of application Ser. No. 07/740,285 filed Aug. 5,1991, U.S. Pat. No. 5,355,439 and continuation in part of applicationSer. No. 08/218,143, filed Mar. 24, 1994, U.S. Pat. No. 5,675,715.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to methods and apparatus useful in automatedanalysis or testing of tissue samples, and to automated tissue assayusing standardized chemicals and packages.

2. Description of Related Art

The analysis of tissue is a valuable diagnostic tool used by thepathologist to diagnose many illnesses and by the medical researcher toobtain information about a cell structure.

In order to obtain information from a tissue sample it is usuallynecessary to perform a number of preliminary operations to prepare thesample for analysis. There are many variations of the procedures toprepare tissue samples for testing. These variations may be consideredrefinements to adapt the process for individual tissues or because aparticular technique is better suited to identify a specific chemicalsubstance or enzyme within the tissue sample. However the basicpreparation techniques are essentially the same.

Typically such operations might include the processing of the tissue byfixation, dehydration, infiltration and embedding; mounting of thetissue on a slide and then staining the sample; labeling of the tissuethrough the detection of various constituents; grid staining of tissuesections for analysis by an electron microscope or the growing of samplecells in culture dishes.

Depending on the analysis or testing to be done, a sample may have toundergo a number of preliminary steps or treatments or procedures beforeit is ready to be analyzed for its informational content. Typically theprocedures are complex and time consuming, involving many tightlysequenced steps often utilizing expensive and toxic materials.

These procedures must usually be performed in a critical order for eachsample and each treatment is frequently time dependent. Additionally thelaboratory is often under extreme pressure to perform many differentanalysis as soon as possible, entailing many different procedures andtests.

A sample of tissue may undergo an optical microscopic examination sothat the relationship of various cells to each other may be determinedor abnormalities may be uncovered. The tissue sample must be anextremely thin strip of tissue so that light may be transmittedtherethrough. The average thickness of the tissue sample or slice (oftenreferred to as sections) is on the order of 2 to 8 microns. A relativelysoft and pliable tissue such as might come from an organ of the humanbody, in its fresh state cannot be accurately cut into such thinsections. In addition, in order to see the individual constituents ofthe cells, such as the nucleus, the nucleolus, the cytoplasm and thecell membrane, it is preferable to have them colored by different dyesto produce a contrasting appearance between the elements. Very limiteddye staining can be done on fresh or recently living tissue withoutresorting to chemical processing. Typically a sample of tissue 2.0 to2.5 square centimeters in area and 3 to 4 millimeters thick is utilized.The tissue sample is then fixed in a material (a fixative) which notonly preserves the cellular structure but also stops any further enzymicaction which could result in the putrification or autolysis of thetissue. While many substances can function as a fixative, a 4%formaldehyde or a 10% formalin solution is very common. Other commonfixatives would include ethanol, picric acid or mercuric chlorideusually with formalin. It should be remembered that in dealing withthese substances the containers holding the materials must be suitable.For example mercuric chloride severely corrodes metals and thereforeshould normally be contained in a glass vessel.

To prepare good samples for microscopic examination the initial stepshould kill the enzymic processes of the tissue and should alter ordenature the proteins of the cell through fixation. The period offixation may take several hours or even a few days depending upon thetissue type, sample size and type of fixative being used.

After fixation, the tissue sample is often dehydrated by the removal ofwater from the sample through the use of increasing strengths of alcoholor of some other dehydrating fluid. Gradual dehydration is preferredbecause it causes less distortion to the sample than a rapid dehydrationprocess.

The alcohol is then replaced by a chemical which mixes with wax or someother plastic substance which can permeate the tissue sample and give ita consistency suitable for the preparation of thin sections withoutdisintegration or splitting. Fat solvents, such as chloroform or tolueneare commonly used for this step. The sample, which has been dehydratedby the infiltration of alcohol, is next exposed to several changes ofsolvent over a period that may last from a few hours to days until thealcohol is completely replaced by the solvent. The sample is thenexposed to a wax which is soluble in the solvent. If a paraffin type waxis used the infiltration is at a temperature above its melting point.After the wax infiltration the sample is allowed to cool and the waxsolidify so that the sample is entirely embedded in and infiltrated bythe wax.

A microtome is then utilized to cut thin slices from the tissue sample.The slices are on the order of 5 to 6 microns thick. The cut thinsections are floated on water to spread or flatten the section. Thesection is then disposed on a glass slide, usually measuring about 8 by2.5 millimeters.

The wax is then removed by exposing the sample to a solvent, the solventremoved by alcohol, and the alcohol removed by decreasing the alcoholicconcentrations until eventually the tissue is once more infiltrated bywater. The infiltration of the sample by water permits the staining ofthe cell constituents by water soluble dyes.

Prior to the development of automated procedures for the preparation oftissue samples, it often took from 2 to 10 days before the tissue couldbe examined under a microscope. In more recent years automated processeshave been developed utilizing apparatus to transfer the sample from onefluid to another at defined intervals, and as a result the preparationtime has been significantly reduced to between about 4 and 16 hours.

Variations in the materials used in the preparation of the sample areadvantageous under some circumstances. The use of ester wax allowssections 1 to 3 microns thick to be cut with less contraction than thatwhich occurs when paraffin used. The sample is exposed to highertemperatures when paraffin wax is used. The use of cellulose nitrateembedding shrinks tissues less than wax, produces good cohesion betweentissue layers and permits large undistorted sections to be cut 25 to 30microns thick, if so desired. It is clear that persons with skill in theart of tissue preparation may use many different materials to which thesamples may be exposed.

Tissue staining is a procedure which is utilized to make microscopicstructures more visible. Perhaps the most common stain materials arehematoxylin and eosin. Hematoxylin is utilized to clearly stain thenuclei of cells dark blue. Eosin is used to stains the cell cytoplasmvarious shades of red or yellow, presenting a clear contrast to the bluestain of the nuclei.

Many synthetic dyes are derived from benzene which is colorless but bychanging its chemical configuration color compounds are produced whichare called chromophores. It is these chromophores which constitute thebulk of the different coloring dyes used in research and routinehistology.

There are many techniques by which sample tissues may be stained andmost of these techniques require exposing the sample to varioussolutions. Histochemistry is the science by which chemical reactions areused to identify particular substances in tissues. In addition, manyenzymes can be detected by exposing a sample to a particular chemicalsubstance on which the enzyme is known to have an effect such as turningthe substance into a colored marker. Thus from the above it can be seenthat a sample tissue may be exposed to various antibodies, enzymelabeled detection systems, colormetric substrates, counterstains,washing buffers and organic reagents.

Many experimental and observational research projects involveexperimentation to authenticate new techniques and these experiments canbe very extensive and time consuming.

In addition to the techniques that prepare samples for opticalmicroscopy, techniques often must be utilized which make the use ofelectron microscopes suitable in the examination of tissue samples.Actually it has been found that the pathological examination of almostany disorder makes electron microscopy highly desirable and oftenessential.

Tissue samples for use with an electron microscope may be fixed inglutaraldehyde or osmium tetroxide rather than in the standard fixativesused for optical microscopy samples. Usually very small samples oftissue are embedded in methacrylate or epoxy resin and thin sections arecut (about 0.06 microns thick). Staining is most often done by coloredsolutions and not dyes, and heavy metal salts are utilized to enhancecontrasts of density.

From the above brief description of some of the techniques and materialsused by a pathologist in the examination of tissues, it can be seen thatfor a research laboratory to carry out such a wide variety of processesand numerous different tests assisting apparatus would be desirable andalmost mandatory. Other and further information about tissue analysisand tissue assays may be found in the following references, each ofwhich is hereby incorporated by reference as if fully set forth herein:

Bancroft, J. D. and A. Stevens. Theory and Practice of HistologicalTechniques (3rd ed. 1990). Churchill Livingstone: Edinburgh. ISBN0-443-03559-8.

Childs, G. W. Immunocytochemical Technology (1986). Alan R. Liss, Inc.:New York. ISBN 0-8451-4213-5.

Culling, C. F. A., R. T. Allison and W. T. Barr. Cellular PathologyTechnique (4th ed. 1985). Butterworths: London. ISBN 0-407-72903-8.

Sternberger, L. A. Immunocytochemistry (2nd ed. 1979). John Wiley &Sons: New York. ISBN 0-471-03386-3.

Many pathology laboratories have in fact automated many of the simpleand routine procedures described above such as simple staining or sampleembedding. Where the same procedure is repeated with great frequency,laboratories have often designed specialized machines to perform theoften repeated testing simultaneously on many samples. Typical of suchmachines are the equipment used in the routine analysis of bloodsamples. The equipment used in this type of laboratory is capable oftreating multiple samples simultaneously to the same testing procedure,i.e., parallel testing or through the use of multiple machines the sameresult of parallel testing, is achieved. Alternatively the laboratorymay perform the same test repetitively, i.e., sequentially and thussubsequent samples may be subject to a significant time delay.

Research laboratories often are required to perform non-routine analysisrequiring many different test procedures. As a result of this lack ofrepetitive procedures, research laboratories have relatively littleautomated equipment to assist the researchers in their task. The mostobvious reason for this lack of automation is that the equipmentpresently available is dedicated to a limited number of procedures mostcommonly performed. The equipment is not flexible enough to permit awide variety of operations to be easily accomplished nor does thepresent equipment permit easy and facile changes to the operations.

Another problem that has arisen in the art of repeated testing is thatof reagent supply. Typically, devices to perform repeated testing mustbe loaded with bulk reagents, and those bulk reagents must havesufficient volume that a specimen slide can be immersed in the reagent,at least to the level of the specimen. This can be wasteful of expensivereagents. It can also result in substantial contamination with thereagent of the back or sides of the slide, resulting in significantcarryover of the reagent and its chemical effect into a next step, and apossible safety hazard for the operator or support personnel.

Another problem that has arisen in the art of repeated testing is thatof packaging of reagents for tests. Typically, devices to performrepeated testing comprise isolator pads, essentially hydrophobicsurfaces of glass or plastic, with roughened areas to contain thereagent and smooth areas to repel it. This can cause two problems.First, if too much of the reagent is doled out by the operator, it canoverflow the isolator pad and mix with another reagent. Second, thereagent has a near maximal surface/volume ratio, often resulting insignificant evaporation of the reagent before use.

SUMMARY OF THE INVENTION

The invention provides a system which performs a plurality ofindependent analysis procedures simultaneously, possibly involvingdiffering types of tissues and differing process steps. The systemcomprises a robotic arm, which may move the different tissue samplesamong a plurality of processing stations, and a processor, which mayselect the next tissue sample to move, when to move it, and where tomove it to. In a preferred embodiment, the processor may direct therobotic arm to interleave the differing process steps, for example bytime division multiplexing.

In a preferred embodiment, the processing stations may be disposed in aset of grid locations, so that the location of any one processingstation may be specified by an X coordinate and a Y coordinate, andpossibly a Z coordinate for height. The robotic device may comprise abench robot with sufficient degrees of freedom that it is able to reacheach of the grid locations with suitable movement. The processingstations may comprise workstations for performing individual steps ofthe tissue assay procedures, such as solution trays, or other equipmentuseful in bioassay, biomedical or related environments.

In a preferred embodiment, the processor may select a tissue sample tobe moved in response to timing information about the procedures, whichmay specify a time duration range (e.g., a minimum time and maximumtime) each process step should take. The processor may determine theexact time for a step by generating a possible sequence of steps andexamining that sequence for conflicts, adjusting that sequence inresponse to those steps with a specified range of times, and iteratingthe calculation over a plurality of possible sequences. The processormay also optimize the order in which samples are moved to minimize thetotal time required by the system to complete the procedures, forexample by generating a plurality of possible sequences, evaluating eachsequence for total expected time, and selecting the best sequenceavailable.

In a preferred embodiment, the robotic device comprises a set ofstandardized packages, disposed by means of a set of spring locks on aset of standardized tiles and accessed by a set of standardized holdersfor standardized slides or slide pairs, having contents comprising astandardized reagent, chemoactive or bioactive compound or mixture, orbuffer, and a set of preprogrammed assay protocols. A standardizedworkstation may also comprise another type of device for operating onsample slides (or other carrying media such as test tubes or wafers),such as a centrifuge, diffusion, distillation or other separationdevice, a DNA crosslinking device, an electroporator, a microwave deviceor other radiation source, an incubation oven or other heating unit, ora refrigeration element or other cooling unit. Because the packages,tiles, contents, and protocols are standardized or preselected, theoperator may quickly insert the packages into the tiles, open thepackages for operation, and select a preprogrammed assay protocol. Allthese operations may be performed quickly and may promote rapid andefficient operation of the robotic device.

In a preferred embodiment, the processor may comprise a graphicinterface by which an operator may specify the steps of a procedure. Adisplay of the grid locations may comprise symbols for the workstations,which an operator may identify with a pointing device such as a mouse.The operator may create or edit templates for workstations, create oredit lists of process steps for procedures, monitor the progress ofongoing procedures, or override the determination of what process stepsto perform. For example, in a preferred embodiment, the operator maycreate a list of process steps for a procedure by selecting a sequenceof workstations with the mouse, and associating timing or otherinformation for each process step with the selected workstation. Theoperator may also choose to select a stored list of process steps for aprocedure.

Thus, the invention provides apparatus and methods whereby a pluralityof test procedures can be performed on several samples, e.g., throughthe use of time division multiplexing. The invention also providesapparatus for use in a laboratory for assisting in the performance ofmultiple tests which can be easily programmed by the operator to executesequentially timed step procedures for a plurality of test samples. Theinvention also provides a flexible laboratory testing system which mayuse time division multiplexing to interleave the multiple steps of aplurality of test procedures to allow for a plurality of differentprocedures to be performed on several different test samples inparallel.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a robotic device for use with the invention.

FIG. 2 shows a laboratory setup having robotic equipment like that shownin FIG. 1.

FIG. 3A shows a standardized tile for coupling to the robotic device.

FIGS. 3B-1, 3B-2, 3B-3, 3B-4, 3B-5, and 3B-6 show a standardized packagefor coupling to the tile.

FIGS. 3C-1a-3C-3z show first and second standardized slide holder forcoupling slides to a compound or mixture in a package.

FIGS. 3D-1 and 3D-2 show a workstation having an incubation oven and acarrying medium for inserting slides or slide pairs.

FIG. 3E is a flowchart of a preferred method of operating the roboticsystem with standardized packages and contents.

FIG. 4 is a flowchart showing a time line for five tasks.

FIG. 5 is a flowchart illustrating multitasking of the tasks shown inFIG. 4.

FIG. 6 shows a multitask monitoring screen as viewed by an operator.

FIG. 7 shows a template building screen as viewed by an operator.

FIG. 8 shows a process building screen as viewed by an operator.

FIG. 9 shows a process timing screen as viewed by an operator.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Inventions described herein may be made or used in conjunction withinventions described, in whole or in part, in the following patents,publications, or copending applications, all of which are herebyincorporated by reference as if fully set forth herein.

U.S. patent application Ser. No. 07/740,285, filed Aug. 5, 1991, in thename of inventors Steven A. Bernstein and Page A. Erickson, titled"Method and Apparatus for Automated Tissue Assay"; and

U.S. patent application Ser. No. 08/218,143, filed Mar. 24, 1994, in thename of inventors Steven A. Bernstein and Page A. Erickson, titled"Method and Apparatus for Automated Tissue Assay".

In a preferred embodiment, a multiple axis bench top robot is located toreach peripheral auxiliary equipment disposed in the operational area ofthe robot. The robot may respond to the output of a PC type computerwhich utilizes process control programs and assay development software.Peripheral equipment, a plurality of work modules or workstations, isdisposed in a grid like pattern around the bench top robot. Theworkstations may be disposed or arranged in any convenient pattern andmay be represented by a template. Each grid location may contain thenecessary equipment to perform a single step of a tissue assayprocedure.

For example, a workstation at a grid position may contain a solutiontray into which one or more slides may be immersed by the roboticequipment. The slide, or slides, could be immersed to a predetermineddepth and retained in the solution tray for a precise time. It should beclear that each grid location may have a solution tray having differentdepths or different dimensions. Alternatively, a grid location couldcontain a slide holder or other peripheral equipment capable ofperforming a single function on the sample.

The robotic equipment or robotic arm may be controlled by a standard PCcomputer. The assay development software is graphic in nature and placesa model of the peripheral grid on the screen of the computer. While eachtissue assay may have all its steps preprogrammed the assay developmentsoftware permits the steps of the procedure or the timing of the stepsto be altered. The graphic nature of the presentation permits laboratorypersonnel to alter such elements without the necessity of relying on acomputer or programming expert.

The process control software associated with the PC may monitor theprogress of the assays, may permit manual override of an automaticoperation, and most importantly, may permit scheduling of multipleassays simultaneously in parallel through the use of time interleavingof the various steps in the test procedures. Thus while sample #1 may bedisposed at a workstation in a grid location where it undergoes a dryingoperation, sample #2 may be located in a tray containing a stainingsolution while sample #3 is undergoing a fixation step. The timing ofeach step is accurate and the system interleaves the steps and utilizesthe "waiting" or processing time between steps in a single procedure toperform operational steps on other samples which may be undergoingcompletely different preparation.

Laboratory Bench and Robotic Device

FIG. 1 shows a robotic device for use with the invention. FIG. 2 shows alaboratory setup having robotic equipment like that shown in FIG. 1. Theequipment may include a robotic device 10 mounted on a standardlaboratory bench top 11. The bench top 11 defines the operational areareachable by the robotic device 10. The bench top 11 may have integraltherewith a plurality of locating elements such as holes 12.Alternatively, the locating elements may be disposed on a separate basedisposed between the robotic device 10 and the laboratory bench top 11.A template may be used to represent the operational area and to assistin defining the exact location of each workstation.

Located on the bench top 11 are one or more work modules 13. A controlstation 14 is located adjacent to the laboratory bench 11. The controlstation 14 may include a typical PC type computer 15, such as anIBM-compatible computer having an Intel x86 processor, or a computersimilar thereto, mounted on a desk 16 or other working surface. It wouldbe clear to one of ordinary skill in the art, after perusal of thespecification, drawings and claims herein, that other types of computersmay be utilized to control the movement of the robotic arm 10. A printer17 is shown although other peripheral equipments may be utilized inconjunction with the computer 15.

Referring to the bench top 11, a plurality of locating holes 12 aredisposed at predetermined fixed locations relative to the robotic device10. The locating holes are designed to receive modular workstations 13.Each modular workstation 13 is designed to be used in the performance ofa particular process or step in one laboratory task or test procedure.Thus each function required to be performed in a task is associated witha work module 13 which has a predisposed known position on the workbench 11.

There are a number of methods by which the location of a particular workmodule 13 can be supplied to the computer 10. For example each workmodule 13 may include a floppy disk which would contain the physicalcharacteristics of the work module, such as its height, width andlength. The customized data for each module would be fed into thecentral processing unit of the computer and would query the operator,for example through a CRT display, to provide the location of the workmodule. The operator through the keyboard input would specify thelocation of the module on the locating grid. Thus for each work moduleor step of a task the computer would have stored in its memory thephysical characteristics and location of the module.

In a preferred embodiment, the robotic device 10 is capable of travel inan X direction along a first cable driven bearing 20 (actuated by afirst cable drive 20a). Disposed at right angle to and vertical withrespect to the first cable driven bearing 20 is a second cable drivenbearing 21 (actuated by a second cable drive 21a), capable of traversingthe first cable drive 20a. Coupled to the cable drive 21a is a thirdcable driven bearing 22 (actuated by a third cable drive 22a) disposedat a right angle. A robotic hand 23 is mounted on cable drive 22 andcomprises a spring loaded solenoid 23a coupled to a rubber securing ring23b. The securing ring 23b is capable of coupling to a sample carrier23c. The sample to be assayed (which may be a tissue sample) is mountedon the sample carrier 23c.

Thus the hand 23 on which the sample is mounted is capable of X movementalong cable driven bearing 20, Y movement along cable driven bearing 21,and Z movement along cable driven bearing 22. The system illustrated isthus capable of motion relative to three axes. Although the system isillustrated using cable driven bearings 20, 21 and 22, it would be clearto those skilled in the art, after perusal of this application, thatother robotic equipment could be provided that could decrease orincrease the number of axes, that other techniques other than cabledrives and cable driven bearings, (such as lead screws, gears, belts, orother devices) could be used, that such other equipment or techniqueswould be workable, and are within the scope and spirit of the invention.

Typically, the range of movement along the X axis may be about 76inches, along the Y axis about 19 inches, and along the Z axis about 18inches. Such a typical range of movement could provide approximately 15cubic feet of operational area.

System Operation

In order to illustrate the operation of this invention, let it beassumed that the laboratory has five example tasks to accomplish, eachhaving five example steps. For purposes of illustration, the five stepsin each of the five tasks will be utilized to demonstrate themultitasking capabilities of the invention. The five tasks and the fivesteps of each of the tasks are shown in Table 1 herein.

                  TABLE 1                                                         ______________________________________                                        Five Tasks                                                                    ______________________________________                                        Task #1 Basic Fuchsin Staining                                                Step #1      Buffer 1                                                         Step #2      Buffer 2                                                         Step #3      Basic Fuchsin                                                    Step #4      Pad 1                                                            Step #5      Buffer 2                                                         Task #2 Azure II & Methylene Blue                                             Counterstaining                                                               Step #1      Azure II                                                         Step #2      Pad 1                                                            Step #3      Buffer 1                                                         Step #4      Pad 1                                                            Step #5      Methylene Blue                                                   Task #3 Tissue Fixation                                                       Step #1      Isotonic Rinse                                                   Step #2      Primary Fixative                                                 Step #3      Buffer 1                                                         Step #4      Buffer 2                                                         Step #5      Secondary Fixative                                               Task #4 Immunocytochemistry                                                   Step #1      Buffer 1                                                         Step #2      Pad 1                                                            Step #3      Blocking Antibody                                                Step #4      Pad 1                                                            Step #5      Buffer 1                                                         Task #5 Slide Silinizing                                                      Step #1      APTES                                                            Step #2      Toluene                                                          Step #3      Water                                                            Step #4      Pad 1                                                            Step #5      Oven                                                             ______________________________________                                    

It is apparent from Table 1 that some of the tasks utilize the samesteps such as Pad 1 or Buffer 1. If these steps were to be carried outin accordance with the principles of this invention, it would benecessary to provide only 14 work modules even though 25 steps werebeing performed. Disposed on the grid would be a separate work modulefor each of the 14 different steps listed above. Thus there would be aPad 1 module to be used in carrying out seven of the above steps.Alternatively, the user could provide multiple modules, each capable ofperforming the pad function. A Buffer 1 module would be used for five ofthe steps and a Buffer 2 module for two of the steps. Each of theremaining steps would have a module disposed on the grid to perform thenecessary work associated with the step.

It is often essential that the step of the task be performed withincertain time limits. The timing of some steps can be critical. FIG. 4 isa flowchart showing a time line for the five steps of the tasks inTable 1. It should be noted that Task #1, Step #1 commences at 9:00 andhas a duration of approximately 15 minutes, inclusive of the timenecessary to transport the sample to the location where Step #2 isperformed. Thus Step #2 will commence at approximately 9:15. It shouldbe noted that the timing for the start of Step #2 has some leeway inthat it can commence between 9:15 and 9:18, providing leeway of threeminutes. Step #2 has a duration of approximately 11 minutes and thesample is transported to the location where Step #3 will be performed.The time for performing Step #3 is critical as indicated by the lack ofinterval for the starting times. Step #3 must commence at 9:26. Fourteenminutes later the sample is undergoing Step #4, which can commence anytime between 9:40 and 9:50. The last Step #5 is performed at 9:51. Itshould be noted that if each Step is commenced at the outer time limitStep #5 may not begin until 10:22.

In a similar manner it can be determined from FIG. 4 that the five stepsof Task #2 may consume 1 hour 34 minutes, Task #3, 1 hour 9 minutes,Task #4, 1 hour 17 minutes, and Task #5, 1 hour 16 minutes. Thus if thefive steps of the tasks shown were to be performed sequentially thetotal time to completion would be 6 hours 38 minutes.

Referring to FIG. 5, the multitasking method of this invention istherein illustrated to show the time interleaving of the steps of themultiple tasks. Assuming again for purposes of illustration andsimplification of explanation that we are desirous of performing thesame five steps for the same five tasks. Under the control of thecomputer the robotic hand would be commanded to obtain sample #1 oralternatively the sample could be brought to the robotic hand and forgrasping. The hand retaining the grasped sample would move the sample tothe location of the work module for Task #1, Step #1, i.e., Buffer 1.The sample would be freed from the hand and left at the work module. Thehand would proceed to the location of sample #2 where it would grasp thesample and carry it to the work station where Task #2, Step #1 would beperformed.

Each of the five samples would in turn be grasped by the robotic handand transported to the work module associated with the first step of thetask to be performed on each sample. It should be noted that the designof the Buffer and Pad work modules permit the simultaneous treatment ofat least two samples from different tasks. Alternatively, two workmodules could be provided so that each sample could be treated in adifferent module.

After locating sample #5 in the Task #5, Step #1 module, the robotichand returns to the module for Task #5, Step #1 and gasps the sample #5and transports it to the module for Task #5, Step #2. Following the pathillustrated in FIG. 5, the hand proceeds from the Task #5, Step #2module to Task #3, Step #3 module where it grasps sample #3 andtransports it to Task #3, Step #2 module where the sample is deposited.The hand then returns to the location of the first sample which is inthe module associated with Task #1, Step #1 and takes it to the modulefor Task #1, Step #2. The hand returns to the location sample #4 andcarries it to Task #4, Step #2 and then at the appropriate timetransports the same sample to Step #3 of Task #4.

At this point in the operation of the system, the computer detects thatTask #1, Step #3 and Task #2, Step #2 are both scheduled to start at thesame time, 9:26. In order to resolve the conflict the system utilizes atechnique, herein termed "fuzzy timing", to process the control of therobotic hand and optimize the process. Fuzzy timing may comprise thewindow of time during which each process (Task) step may occur withoutaffecting the process results. Some steps of a process may be criticallytimed, i.e., the time required for that step is exact, such as Task #1,Step #3 in FIG. 5, but in general most steps a process the timing isless critical and may comprise any amount of time within a known rangeand thus are noncritical in their timing, such as Task #2, Step #2,which has a window of four minutes, as shown in FIG. 5. The system ofthis invention uses these windows of time to advantage as to optimize(minimize) the time necessary to complete the multiple tasks.

The use and advantages of "fuzzy timing" can be illustrated byconsidering two different tasks, each having a process step terminatingat the same time or within moments of the another. Assuming that bothsteps are critically timed in so far as the termination time isconcerned, it is apparent that both samples from the two different stepscan not be moved to the next step in each process simultaneously sinceconcurrent movement of two samples is not within the capabilities ofthis embodiment. Thus it is necessary to adjust the starting times forthe two steps relative to each other so that the ending times will allowfor the movement of each sample to its next process step. While this canbe done quite easily, it is clear that the mere adjustment of a startingtime for a step in the process may well cause other timing conflicts. Itis possible that under such conditions the system could not supportsimultaneous throughput of multiple processes unless the timing wasaltered.

Fuzzy timing allows the system additional flexibility since by providinga window of time at each noncritically timed process step, conflictswill be minimized through the adjustment of timing at the step level,rather than by shifting the timing of the whole process or task.

Standardized Chemicals and Packages

FIG. 3A shows a standardized tile for coupling to the robotic device.

As described herein, the robotic device 10 may be mounted on a bench top11 having a plurality of locating elements such as holes 12 and having aplurality of work modules 13 disposed thereon.

In a preferred embodiment, each work module 13 comprises one or moretiles 301, each tile 301 comprising a molded plastic piece having a topface 302 and a bottom face 303.

The bottom face 303 of the tile 301 comprises a relatively flat plasticsurface 304, possibly having one or more bottom indentations 305 andbottom ribs 306, and having a set of receiving wells 307 for insertionof a corresponding set of fasteners 308. As shown in FIG. 3A, thefasteners 308 fit through a set of holes 12 for a designated location onthe bench top 11, and are coupled to the receiving wells 307 forfastening the tile 301 to the top surface of the bench top 11.

In a preferred embodiment, the fasteners 308 comprise screws, but thoseskilled in the art will recognize, after perusal of this application,that other types of fasteners would also be workable with the devicesand substances described herein, and are within the scope and spirit ofthe invention.

The top face 302 of the tile 301 comprises a set of receiving areas 309for insertion of a corresponding set of standardized packages 401. Thetop face 302 also comprises a set of one or more top indentations 310and top ribs 311. A set of holes 312 are disposed in at least some ofthe top indentations 310, so that liquids in those top indentations 310may drain. Each receiving area 309 comprises a depression 320, intowhich a package 401 (FIG. 3B) may be placed.

Each depression 320 comprises a pair of side walls 321 disposed parallelto each other, a pair of intermediate barriers 322 disposed so as todivide the depression 320 into a set of three subdepressions 323, eachintermediate barrier 322 having a pair of stubs 324. Each pair of stubs324 is aligned with each other and disposed parallel to the side walls321, so that a package 401 may be snugly fitted into one of the threesubdepressions 323.

Each stub 324 comprises a first and second stub side 325 and a stub end326. The stub sides 325 for the stub 324 are disposed parallel to thestub sides 325 of the matching stub 324, and parallel to the side walls321. The stub end 326 for the stub 324 is generally disposed so that thestub 324 is relatively short compared with the package 401.

When a package 401 is fitted into a side one of the three subdepressions323, it is disposed with a first package side 402 (FIG. 3B) disposednext to a first side wall 321 and with a second package side 402disposed next to one of the stubs 323, in particular, next to one of thestub sides 324. A first end of the second package side 402 is disposednext to a first stub 323, while a second end of the second package side402 is disposed next to a second stub 323, the second stub 323 being thematching stub 323 aligned with the first stub 323.

Alternatively, a package 401 may be fitted into a center one of thethree subdepressions 324. In this case, it is disposed with a firstpackage side 402 disposed next to a first pair of stubs 323, and asecond package side 402 next to a second pair of stubs 323. A first end403 (FIG. 3B) of the second package side 402 is disposed next to a firststub 323 in its pair, while a second end 403 of the second package side402 is disposed next to a second stub 323 in its pair, the second stub323 being the matching stub 323 aligned with the first stub 323.

Each subdepression 323 comprises a pair of receiving holes 325 forinsertion of a corresponding lever 404 (FIG. 3B) and a correspondingspring lock 405 (FIG. 3B) of the package 401 to be disposed in thesubdepression 323. When the package 401 is fitted into the subdepression323, the lever 404 of the package 401 is disposed in a first one of thereceiving holes 325, and the spring lock 405 of the package 401 isdisposed in the second one of the receiving holes 325.

FIG. 3B (comprising 6 parts, individually FIGS. 3B-1, 3B-2, 3B-3, 3B-4,3B-5, and 3B-6) shows a standardized package for coupling to the tile.

In a preferred embodiment, a standardized package 401 comprises a moldedplastic tray 406 and a thin cover 407 affixed to the tray 406, such asby a heat weld, a glue, or other known means. In a preferred embodiment,the thin cover 407 may comprise a plastic or metallic sheet 408,laminated on an outside side 409 with plastic and printed thereon withidentifying information, and coated along an edge area 410 on an insideside 411 with a fixative 412 and affixed by means of that edge area 410to a corresponding tray surface 413.

In a preferred embodiment, the fixative 412 comprises a heat weld, butthose skilled in the art will recognize, after perusal of thisapplication, that other types of bonding techniques would also beworkable, such as crimping or welding, or glue, and are within the scopeand spirit of the invention.

The tray 406 comprises a tray frame 420, having a rectilinear shape witha top surface 421. The top surface includes the tray surface 413 forbonding with the cover 407, and also includes a handle region 422 with ahole 423 disposed therein.

The cover 407 also comprises a cover lip 414 disposed on at least oneend of the package 401, having a sufficient size to be grasped by anoperator and removed from the tray 406.

The tray frame 420 comprises a pair of side surfaces 424, disposedperpendicular to the top surface 421. The side surfaces 424 form thepackage sides 402 and the ends 403 of the packet sides 402.

The tray frame 420 comprises a first end surface 425, disposedperpendicular to the top surface 421 and to the side surfaces 424, andforming a box shape underneath the handle region 422 and the hole 423,providing additional sturdiness in that region.

The tray frame 420 comprises a second end surface 426, disposedperpendicular to the top surface 421 and to the side surfaces 424, andhaving the spring lock 405 disposed thereon.

The tray frame 420 comprises a set of tray ribs 427, disposed underneaththe top surface 421 and near the side surfaces 424, providing additionalsturdiness to the tray 406 and the side surfaces 424.

The tray frame 420 is coupled to a well frame 440, which comprises arectilinear shape having a pair of well sides 441, a well bottom 442, aset of wells 460, a first well end 443 near the first end surface 425,and a second well end 444 near the second end surface 426.

The wells 460 each comprises a truncated wedge shape, having a singlewell bottom 461 that is U-shaped, with the plane of the U-shape parallelto the side surfaces 424, and a pair of single well sides 462 that areflat and each have a trapezoidal shape. Each single well bottom 461comprises a set of three relatively straight surfaces, a well horizontalbottom 463 that is relatively flat and horizontal (and may comprise a Vshape with a arms of the V shape disposed about 2.5 degrees fromhorizontal), and a pair of well semibottoms 464 that are flat anddisposed at an angle of about 9.5 degrees from the vertical.

The single well bottoms 461 are disposed in a continuous sequence so asto merge to form the well bottom 442. The well bottom 442 is thereforeformed without seams and with ridges 465 formed by well semibottoms 464adjacent to each other.

The single well sides 462 are disposed in a continuous sequence so as tomerge to form the well sides 441. The well sides are therefore formedwithout seams and without ridges.

Each well 460 is formed with a molded label 466 that is unique withinthe package 410. In a preferred embodiment, the labels 466 are formed bymolding the plastic of the tray 406, but those skilled in the art willrecognize, after perusal of this application, that the labels could beworkably formed by alternative means, such as etching, printing, orscoring, and that such alternative means are within the scope and spiritof the invention. In a preferred embodiment, the labels 466 may eachcomprise a single digit "0", "1", "2", "3", "4", "5", "6", "7", "8", or"9". Alternatively, the number "10" may be substituted for the digit"0".

A first well 460 with a label 466 of "0" is disposed near the first endsurface 425 and has the lever 404 disposed thereon.

A second well 460 with a label 466 of "1" is disposed near the secondend surface 426 and has a set of end ribs 467 disposed thereon.

The lever 404 comprises a right-angled lever lip 480, having a firstlever surface 481 and a second lever surface 482, supported by a set oflever ribs 483 disposed between the first lever surface 481 and thefirst well 460 and underneath the second lever surface 482. The leverlip 480 is disposed at parallel to the first end surface 425 and sizedto fit into the corresponding receiving hole 325. In a preferredembodiment, the first lever surface 481 has at least one lip hole 484disposed thereon, to promote mating at a surface of the tile 301 nearthe receiving hole 325.

The spring lock 405 comprises a right-angled spring lip 500, having afirst spring surface 501 and a second spring surface 502, supported by aset of first spring ribs 503 underneath the second spring surface 502.The first spring surface 501 comprises a section of the second endsurface 426 having a pair of cuts 504 disposed thereon, a reinforcedspring base 505 disposed at a base of the pair of cuts 504, and a pairof second spring ribs 506 disposed underneath the second spring surface426 near the cuts 504. The spring lip 500 is disposed in parallel to thesecond end surface 426 and sized to fit into the corresponding receivinghole 325.

An inside surface 520 of the tray 406 comprises a set of inside wells521 corresponding to the wells 460. Each adjacent pair of inside wells521 is separated by a well divider 522. Each well divider 522 comprisesa U-shaped, with the plane of the U-shape perpendicular to the sidesurfaces 424, and having a taper from thicker near a bottom end 523disposed near the bottom 524 of the inside wells 521 to thinner near atop end 525 disposed farther from the bottom 524 of the inside wells521.

Each well divider 522 comprises a center 526, at a bottom curve of theU-shape, that has an indentation 527, thus forming two lips 528 disposedbetween each adjacent pair of inside wells 521.

Each well divider 522 comprises a well top 527, at a pair of top ends528 of the U-shape, disposed with a gap 529 between the well top 527 andthe cover 407.

In a preferred embodiment, the well dividers 522 are sized so that eachinside well 521 may hold 750 microliters (3/4 of a milliliter) of liquidwithout spilling over to an adjacent inside well 521. However, if theamount of liquid in an inside well 521 exceeds 750 microliters, theliquid will spill over the bottom curve of the U-shape of the welldivider 522, and thus spill into the adjacent inside well 521.

In a preferred embodiment, the robotic device 10 operates by orienting aslide 540 with a specimen 541 vertically for insertion into the insidewell 521, i.e., with the flat surfaces of the slide 540 beingperpendicular to a plane of the ground. When the slide 540 is insertedinto the inside well 521, a liquid content 542 of the inside well 521will coat the specimen 541 by means of capillary action.

This capillary action is particularly promoted if the slide 540 iscoupled to a second slide 540 to form a slide pair 543, with thespecimen 542 sandwiched between the slide 540 and the second slide 540of the slide pair 543, and with the slide 540 and the second slide 540maintained a selected separation distance apart of preferably about 146microns +/-12 microns. However, those skilled in the art will recognize,after perusal of this application, that slides of differing sizes andselected separation distances would be workable, and are within thescope and spirit of the invention. For example, a selected separationdistance for a slide 540 or a slide pair 543 for frozen tissue maycomprise a substantially larger size, such as about 200 microns. Apreferred embodiment of the slide pair 543 is shown in one or more ofthe following U.S. patents, hereby incorporated by reference as if fullyset forth herein: U.S. Pat. Nos. 4,731,335; 4,777,020; 4,798,706;4,801,431; 4,975,250; 5,002,736; 5,023,187; and 5,116,727, and may beused in conjunction with inventions therein.

It has been found by the inventors that the selection of the particularvolume, 750 microliters, for each inside well 521 is particularlyadvantageous. This selected volume of liquid is generally sufficient toperform all the steps of typical immunohistochemical stains and otherassay protocols (generally, with this selected volume of liquid, slides540 or slide pairs 543 may be inserted into the inside well up to aboutthree times). However, this selected volume of liquid is not so largethat nonspecimen parts of slides 540 or slide pairs 543 (such as theback or sides) are regularly excessively contaminated. This selectedvolume of liquid also has the advantage, particularly when held in aninside well 521 having a single well bottom 461 with relatively steepsides (formed by the well horizontal bottom 463 and the well semibottoms464), that there is a reduced surface/volume ratio. This provides forlesser evaporation of the liquid in the inside well 521.

It has also been found by the inventors that the selected shape of theinside well 521 is particularly advantageous. This particular shapepromotes self-levelling and reduced evaporation, as noted herein.Moreover, this particular shape promotes centering within the insidewell 521 of small amounts of liquid (about 150 microliters), due tosurface tension repulsion of the liquid by the well semibottoms 464.Centering of the liquid promotes capillary action when a slide 540 orslide pair 543 is inserted into the inside well 521.

Preferred filling amounts for content of the inside well 521 are about350 microliters when the compound or mixture is not too expensive, andabout 200 microliters when the compound or mixture is relativelyexpensive (or when other reasons exist to restrict the amount, such asthe compound or mixture being dangerous in quantity).

Preferred dimensions and tolerances for tiles 301 and packages 401 areshown in FIGS. 3A and 3B.

FIGS. 3C-1a-3C-3z show first and second standardized slide carriers forcoupling slides to a compound or mixture in a package.

In a preferred embodiment, a first standardized slide carrier 560comprises a frame 561, a coupling ring 562, a set of slide frames 563,and a set of feet 564. The frame 561 comprises a metal frame comprisinga set of four horizontal elements (a top 565, a slide top 566, a slidebottom 567, and a bottom 568), and a set of four support posts 569. Thetop 565, slide top 566, slide bottom 567, and bottom 568 are coupled andsupported by the four support posts 569, to make the frame 561 rigid andsturdy.

The coupling ring 562 is coupled to the top 565 by means of a pair ofring supports 570, that connect the coupling ring 562 to the rest of thetop 565. The coupling ring 562 is a roughly circular element and has asimilarly shaped ring base 571 underlying it and coupled to it by meansof screws 572 disposed through the ring supports 570 with their axesaligned vertically. The coupling ring 562 also has a ring bumper 573disposed on top and coupled to it by means of glue or another fasteningtechnique.

The coupling ring 562 comprises a plastic disk 574, defining a circularhole 575 (smaller to and aligned with a circular hole 576 defined byeach of the coupling ring 562, the ring base 571, and the ring bumper573), and having a circular raised lip 577 surrounding the hole 576. Thedisk 574 also comprises a circular flat portion 578 disposed between thecoupling ring 562 and the ring base 571, sufficiently large so that thedisk 574 cannot fall out from between the two. The coupling ring 562 isthus disposed and shaped so the robot's rubber securing ring 23b maycouple thereto and form a firm (but easily detachable) coupling.

If the robot's rubber securing ring 23b is slightly misaligned from thedisk 574 in the X or Y direction or both, the disk 574 will realignwithin the rubber securing ring 23b by sliding within the region definedbetween the coupling ring 562 and the ring base 571. The rubber securingring 23b and the disk 574 may thus couple anyway despite slightmisalignment in the X or Y direction or both, up to about 2 mm in apreferred embodiment. Similarly, if the robot's rubber securing ring 23bis slightly misaligned from the disk 574 in the Z direction, an outsidepart of the rubber securing ring 23b will bump against the ring bumper573, so the rubber securing ring 23b and the disk 574 may thus coupleanyway despite slight misalignment in the Z direction, up to about 2 mmin a preferred embodiment.

The slide frames 563 (preferably there are three of them) are coupled tothe slide top 566, by means of a set of screws 580 disposed with theiraxes aligned vertically. Each slide frame 563 comprises a set of slidepositions 581 for holding standardized slides 540 or slide pairs 543.The slide bottom 567 is disposed to support the slide frames 563relatively tightly. An underside 582 of the slide bottom 567 is labelledwith a set of letters 583 "A", "B", and "C", disposed with one letternear each slide frame 563, and a set of digits 584 "1", "2", "3", "4","5", "6", "7", "8", "9", and "0", disposed with one digit near eachslide position 581 in each slide frame 563. A preferred embodiment forthe slide frame 563, and related inventions, are shown in one or more ofthe following U.S. Patents, hereby incorporated by reference as if fullyset forth herein: U.S. Pat. Nos. 4,731,335; 4,777,020; 4,798,7064,801,431; 4,975,250; 5,002,736; 5,023,187; and 5,116,727, and may beused in conjunction with inventions shown therein.

The set of feet 564 (preferably there are four of them) are coupled tothe frame bottom 568, by means of being integratedly formed therewith.The feet 564 each comprise a wedge-shaped element 590, with a relativelythicker top end 591 and a relatively thinner bottom end 592, shaped andsized to fit into the top indentations 310 in the top face 302 of thetile 301 with a bit of extra space.

If, when the robot hand 23 deposits the slide carrier 560 onto the tile,the slide carrier's feet 564 are slightly misaligned from the tile's topindentations 310 in the X or Y direction or both, the wedge-shapedelement 590 will realign within the top indentations 310 by force of theweight of the slide carrier 560, so the slide carrier's feet 564 and thetop indentations 310 may thus couple anyway despite slight misalignmentin the Z direction, up to about 2 mm in a preferred embodiment.Similarly, if the slide carrier's feet 564 are slightly misaligned fromthe top indentations 310 in the Z direction, the slide carrier 560 willfall into the top indentations 310, so the slide carrier's feet 564 andthe top indentations 3120 may thus couple anyway despite slightmisalignment in the Z direction, up to about 2 mm in a preferredembodiment.

In a preferred embodiment, a second standardized slide carrier 600 alsocomprises a frame 601, a coupling ring 602, a slide frame 603, and a setof feet 604. The second standardized slide carrier 600 comprises asimilar structure to the first standardized slide carrier 560.

The first standardized slide carrier 560 comprises a generally cubicshape and is adapted for holding a set of three slide frames 563, eachwith 10 slide pairs (i.e., a total of 60 slides). However, the secondstandardized slide carrier 600 comprises a rectilinear shape and isadapted for holding a slide frame 603 with 10 slide pairs (i.e., 20slides).

The first standardized slide carrier 560 comprises a roughly circularcoupling ring 562, coupled to the top 565 by means of a pair of ringsupports 570, which has a similarly shaped ring base 571 underlying it,and which also has a ring bumper 573 disposed on top. However, thesecond standardized slide carrier 600 comprises a coupling ring 602 thatis integrated into the rest of a top 605 and is thus rectilinear, whichhas a similarly shaped ring base 606 underlying it, and which also has aring bumper 607 disposed on its top. The ring bumper 607 is roughlycircular but shaped to match the shape of the second standardized slidecarrier 600.

The first standardized slide carrier 560 preferably comprises a set ofthree slide frames 563. However, the second standardized slide carrier600 preferably comprises a single slide frame 608 having a plurality ofslide positions 609. The underside 610 of the slide frame 608 is notlabelled; rather, a pair of sides 611 of the slide frame 608 arelabelled with a set of integers 612 "1", "2", "3", "4", "5", "6", "7","8", "9", and "10", disposed with one digit near each slide position 609in the slide frame 608.

The first standardized slide carrier 560 preferably comprises a set offour feet 564. However, the second standardized slide carrier 600preferably comprises a set of only two feet 613.

Multiple page FIG. 3C-3, comprising 13 pages, shows detailed partsdrawings for the first standardized slide carrier 560 and the secondstandardized slide carrier 600.

Workstation Devices

In addition to packages 401, the tile 301 at a workstation 13 may becoupled to another type of device for operating on samples, whethercarried by slides 540, slide pairs 543, or another carrying medium suchas a beaker, test tube or wafer. In a preferred embodiment, the tile 301at a workstation 13 may be coupled to one or more of the followingdevices:

The workstation 13 may comprise a centrifuge, a diffusion device, adistillation device, or other separation device.

The workstation 13 may comprise a DNA crosslinking device.

The workstation 13 may comprise an electroporator.

The workstation 13 may comprise a laser device or other optical device.

The workstation 13 may comprise a microwave device, a shieldedradioactive sample, or other radiation source, such as a source ofelectromagnetic or ionic radiation.

The workstation 13 may comprise an incubation oven or other heatingunit.

The workstation 13 may comprise a refrigeration element or other coolingunit.

FIGS. 3D-1 and 3D-2 show a workstation having an incubation oven and acarrying medium for inserting slides 540 or slide pairs 543.

In a preferred embodiment, an incubation oven 620 comprises a chassis621, an incubation chamber 622 a set of heat exchanger fins 623, ahydration fluid supply 624, an internal cooling element 625, afill/drain control 626, a fluid waste receiver 627, a receiving element628 for a carrying medium 630, and a set of heat fins 629.

The incubation chamber 622 is supported by the chassis 621 and comprisesa set of chamber walls 631 disposed in a generally rectilinear form 632with a set of rounded corners 633 to form a first part of a sealedfluid-tight box 634 when the carrying medium 630 is disposed foroperation. When the carrying medium 630 is disposed for operation, theslides 540 or slide pairs 543 in the carrying medium 630 may be heatedwith moist heat formed by heating the incubation chamber 622 whiledisposing a hydrating fluid therein, and thus incubated. Incubation ofslides 540 or slide pairs 543 is known in the art.

The heat exchanger fins 623 are disposed in the incubation chamber 622in an array. The array is disposed to match, but not contact, a set ofslides 540 or slide pairs 543 disposed in the carrying medium 630. Thereshould be one of the heat exchanger fins 623 for each slide 540 or slidepair 543, or at the least, for each pair of slides 540 or slide pairs543. Each one of the heat exchanger fins 623 has a height sufficient toheat the entire slide 540 or slide pair 543, or at least a portion ofthe slide 540 or slide pair 543 to include the sample.

A horizontal plate isolates the heat exchanger fins 623 from thehydration fluid supply 624. The heat exchanger fins 623 may eachcomprise a resistive element such as a metallic wire, coupled to avoltage source 634 disposed outside the incubation chamber 622. Thevoltage source 634 is coupled to a voltage regulator 635 to regulate thetemperature of the incubation chamber 622, and thus of the slides 540 orslide pairs 543, to a selected temperature in steps of 1 degree Celsiusbetween ambient temperature to about 100 degrees Celsius. Heatingelements and regulators are known in the art.

The incubation oven 620 is triggered when first coupled to the roboticsystem, and controlled to a temperature selected by the control station14. Typically, the control station 14 will set the regulated temperatureof the incubation oven 620 to a room temperature such as 25 degreesCelsius, will set the regulated temperature of the incubation oven 620to an operating temperature such as 95 degrees Celsius a few minutesbefore the incubation oven 620 is to be used in a process step, and willset the regulated temperature of the incubation oven 620 to a roomtemperature or to a second operating temperature such as 37 degreesCelsius after the incubation oven 620 is used in a process step andbefore it is to be used in a second process step. Each process stepdesignating the incubation oven 620 indicates an operating temperaturefor that process step.

The hydration fluid supply 624 comprises a source, such as a bottle,into which a hydrating fluid 636 is placed and from which hydratingfluid 636 is drawn during operation of the incubation oven 620, and afluid well 637 in which a selected level of hydrating fluid 636 ismaintained. The selected level of hydrating fluid 636 is maintained bymeans of an automatic replenisher having a combination of a reservoirand valve, disposed to maintain a constant level of hydrating fluid 636in the fluid well 637 available for evaporation into the incubationchamber 622, similar to a bird feeder. The fill/drain control 626provides for filling and draining the hydrating fluid 636 from the fluidwell 637. Flow regulation and fluid level regulation are known in theart.

The selected level of hydrating fluid 636 may be adjusted to account fordiffering assay protocols. For example, an assay protocol forhybridization may generally require heating and cooling without dryingout the sample. Alternatively, other assay protocols, such as those forheating a xylene mixture, may require a relatively dry heat.

In a preferred embodiment, the hydrating fluid 636 may comprise (per 10liters) 9980 milliliters nanopure water, 20 milliliters Tween-20, and 10grams sorbic acid. However, those skilled in the art would recognize,after perusal of this application that plain water, a known buffersolution, or another substance for incubation of tissue, would also beworkable for the hydrating fluid 636, and that such substances would bewithin the scope and spirit of the invention.

The internal cooling element 625 is disposed in the chassis 621 near theincubation chamber 622 to cool the incubation oven 620 and those of itselements that do not need to have an raised temperature. The internalcooling element 625 comprises a fan 638 coupled to the voltage source634 and to a temperature regulator 639, such as a thermostat, tomaintain the chassis 621 at a selected temperature. The heat fins 629also serve to aid in regulating the incubation chamber 622 to a selectedtemperature. Temperature regulation is known in the art.

The fluid waste receiver 627 comprises a chamber for receiving excesshydrating fluid 636 not evaporated by the heat exchanger fins 623, andother fluids that may be condensed by the internal cooling element 625.The fluid waste receiver 627 may be detachable for emptying.

The receiving element 628 comprises a set of receiving slots 640 moldedinto a bottom 641 of the incubation chamber 622, disposed to receive aset of feet 641 of the carrying medium 630. The carrying medium's feet641 are similar to those of the first standardized slide carrier 560 orthe second standardized slide carrier 600, so the receiving element 628is similar to the top indentations 310 of the tile 301.

The carrying medium 630 for inserting slides 540 or slide pairs 543 intothe incubation oven 620 is similar to the first standardized slidecarrier 560, and comprises a frame 651, a coupling ring 652, a set ofslide frames 653, and a set of feet 654. It further comprises a slideholder cover 655, a set of ventilation openings 656, and a cover latch657.

The frame 651 is similar to the first standardized slide carrier's frame561, and comprises a metal frame comprising a set of four horizontalelements (a top 658, a slide top 659, a slide bottom 660, and a bottom661), and a set of four support posts 662. Rather than being flat as inthe first standardized slide carrier's frame 561, the bottom 661comprises a V shape with the bottom of the V shape in the center, tocarry condensation away from the slides 540 or slide pairs 543. Otherframe elements may also be bent at angles or into V shapes to directcondensation away from the slides 540 or slide pairs 543.

The slide holder cover 655 is disposed over the frame 651, and comprisesa solid shell of a lightweight material such as a rigid plastic. Theslide holder cover 655 comprises a set of four shell sides 662, a set ofdownward sloping corners 663, and a rounded topmost part 664, with theset of ventilation openings 656 defined by gaps in the topmost part 664.

The ventilation openings 656 comprise a set of openings 665 with aslidable disk 666 disposed around the coupling ring 652 (and relatedassembly) similar to the first standardized slide carrier's couplingring 562 (and related assembly, such as the ring base 571, ring bumper573, plastic disk 574, circular hole 575, circular hole 576, circularraised lip 577, and circular flat portion 578). The slidable disk 666defines a set of slidable openings 667 generally corresponding to theventilation openings 656, a set of slidable masks 668 also generallycorresponding to the ventilation openings 656, and a lip 669 for slidingthe slidable disk 666 to adjust the ventilation openings 656 byalternatively uncovering them with the slidable openings 667 or coveringthem with the slidable masks 668.

The slide holder cover 655 and the ventilation openings 656 arepreferably shaped (as shown in FIG. 3D) to optimize effects ofcondensation of the hydrating fluid 636 and carry condensate away fromthe slides 540 or slide pairs 543. In particular, the slide holder cover655 and the ventilation openings 656 are preferably trapezoidally shapedto cause the hydrating fluid 636 to condense and drip back into theincubating chamber 622, rather than evaporate into the local atmosphere.

The cover latch 657 comprises a V-shaped element 669 coupled to one ofthe shell sides 662, and a peg 670 coupled to the slide top 659. TheV-shaped element 669 is disposed to just fit over the peg 670, so that areasonably firm, but still easily removable, latch is made.

In a preferred embodiment, the incubation oven 620 is prepared with thefollowing steps:

1. The operator fills the hydration fluid supply 624 and, if necessary,empties the fluid waste receiver 627.

2. The operator adjusts the fill/drain control 626 to regulate the levelof hydrating fluid 636 to a selected level.

3. The operator prepares the slides 540 or slide pairs 543 according toa desired assay protocol, and configures the robotic system to performthe program for that assay protocol.

4. The operator inserts the slides 540 or slide pairs 543 into thecarrying medium 630 by means of the slide holder cover 655, and replacesthe slide holder cover 655 on the carrying medium 630. The operator setsthe ventilation openings 656 to adjust for ambient humidity levels.Preferably, the ventilation openings 656 should be as wide open aspossible while at the same time allowing the chemistry in the capillarygap of the slide pair 543 to maintain a level above 75% of capillary gapfor an entire hybridization process step.

5. The operator places the slide carrying medium 630 in a HOME positiontile 301 and directs the control station 14 to initiate the assayprotocol.

The incubation oven 620 may be used in conjunction with inventionsdisclosed in one or more of the following U.S. Patents, herebyincorporated by reference as if fully set forth herein: U.S. Pat. Nos.4,731,335; 4,777,020; 4,798,706; 4,801,431; 4,975,250; 5,002,736;5,023,187; and 5,116,727.

In a preferred embodiment, where the workstation 13 comprises a devicethat should be engaged to operate on the sample, coupling the carryingmedium to the device requires two steps: (1) The carrying medium isfirst coupled to or inserted into the device. (2) The device istriggered.

As with the incubation oven 620, the device may be triggered when firstcoupled to the system, and controlled by the control station 14.Alternatively, the device may be triggered by a switch (triggered bycontact with the robotic arm), or preferably, by contact with thecarrying medium by means of a contact switch, proximity switch, or aweight-triggered switch that detects the presence of the carrying mediumor its having been coupled to the device.

Operation of the Package in the Robotic System

FIG. 3E is a flowchart of a preferred method of operating the roboticsystem with standardized packages and contents.

In a preferred embodiment, at a step 681, the tray 406 is filled withcontents 542 comprising a selected amount of a selected reagent, otherbioactive or chemoactive compound or mixture, or buffer.

At a step 682, the tray 406 has the cover 407 sealed thereon.

At a step 683, the tray 406, contents 542, and cover 407, aretransported to a location having the robotic device 10. Theconfiguration of the well dividers 522 permits the liquid contents toflow easily between the inside wells 521 during shipment and prior toplacement in a tile 301.

In a preferred embodiment, the contents 542 of the tray 406 comprise oneof a set of standardized selected reagents, other bioactive orchemoactive compounds or mixtures, or buffers, known to programmers ofthe robotic device 10. Because the contents 542 are standardized andknown to programmers of the robotic device 10, an assay protocol may bepreprogrammed and preloaded into the robotic device 10, for dynamicselection by an operator.

At a step 684, an operator of the robotic device 10 places a pluralityof tiles 301 in the robotic device 10, and affixes those tiles 301 tothe robotic device 10 with screws or other affixing objects.

At a step 685, the operator places one or more trays 406, each with itscover 407 still sealed, in a set of selected tiles 301.

At a step 686, the operator removes the covers 407 from the trays 406,instructs the robotic device 10 as to the location of each such tray 406and its contents 542, and commands the robotic device 10 to begin one ormore preprogrammed assay protocols. As described herein, thepreprogrammed assay protocols may be one or more assay protocols withwhich the robotic device 10 is started, or may be one or more assayprotocols that are added to an already ongoing set of assay protocols.

In a preferred embodiment, the strength of the fixative that affixes thecover 407 to the tray 406 exceeds any likely force for removal thatmight occur during shipment, but is less than a force for removalrequired for overcoming the spring lock 405. The operator may thereforeremove the cover 407 from the tray 406 while the tray 406 is locked intothe tile 301 by means of the lever 404 and the spring lock 405, withoutthe tray 406 coming undone from the tile 301 due to the force ofremoval.

In a preferred embodiment, the robotic device 10 comprises a memory witha set of preprogrammed assay protocols, that have been previouslyprogrammed and loaded into memory, and that are selectable by a set ofassay protocol names. The operator may therefore select an assayprotocol by name at the time it is desired to conduct the assay, withouthaving to reprogram the robotic device 10 each time it is desired toconduct that assay. In a preferred embodiment, a set of preprogrammedassay protocols are previously programmed, transferred to anintermediate storage medium such as a diskette, tape, or network, andloaded into the memory of the robotic device 10 by means of a operatorcommand. The operator command to load the preprogrammed protocol mayalso be subject to security confirmation.

The standardized contents 542 of the trays 406 may comprise a set ofalcohols.

The standardized contents 542 of the trays 406 may comprise a set ofantibodies.

The standardized contents 542 of the trays 406 may comprise a set ofblocking agents, such as hydrogen peroxide block or a serum block.

The standardized contents 542 of the trays 406 may comprise a set ofbuffer solutions, preferably a phosphate buffered saline with a pH ofabout 7.2. In a preferred embodiment, buffer solutions should include asurfactant for best operation with the capillary gap of the slide pair542. The surfactant is bridge or preferably tween (the latter availablefrom Fisher Scientific Co.), optimized for use with the capillary gap ina slide pair 543 with about a 1% to 2% solution of tween in water.

The standardized contents 542 of the trays 406 may comprise a set ofchromagens, including those that relate to the visible range or anotherrange of the electromagnetic spectrum (such as infrared or ultraviolet).

The standardized contents 542 of the trays 406 may comprise a set of DNAprobes.

The standardized contents 542 of the trays 406 may comprise a set ofenzymes.

The standardized contents 542 of the trays 406 may comprise a set offixatives.

The standardized contents 542 of the trays 406 may comprise a set oflinking molecules, such as avidin biotin conjugate.

The standardized contents 542 of the trays 406 may comprise a set ofstaining agents, such as hematoxylin stain or eosin stain.

The standardized contents 542 of the trays 406 may comprise a set ofwashes, such as water.

A set of preferred assay protocols is described in an appendix.

System Control by Operator

In order to use the system of this invention the operator (which mightbe a human user or a control processor) may first determine theprocesses that are to be carried out the apparatus. Each step of eachprocess may be defined. To assist the user an index of work stations maybe provided to allow the user to determine which process steps can beemployed. Alternatively, each work station can be represented by an iconon the CRT display and a help index made available that the user maydetermine the capabilities of each work station by referring to the iconand its associated help screen.

As previously described with reference to FIGS. 1-2, the apparatus ofthe invention uses a locating grid or template presenting theoperational work area reachable by the robotic device 10 in which thework station locations may be defined. Each position on the grid isaccurately determined and can be imparted to the computer to providecertainty of location. The exact relative position of each work stationmay be stored in the control system. The use of the predetermined gridlocations permits the user of this system to have the freedom ofdesigning individual templates to match the user's need and to designthe steps of a process to provide relative limited ability in creatingprocesses, limited only by the available work stations.

A graphic replica of the grid in which the work stations located isprovided on the screen of the computer, such as shown in FIGS. 6-8.Included in this graphic is the robotic arm position. In order toquickly input the steps of a process to the computer (1) a templatebuilder and (2) a process builder have been created to interact withgraphic replica of the work area. These two tools, template builder andprocess builder, allow the user to design a new process or modify an oldprocess, easily and quickly without the need to have knowledge ofcomputer programming. Through the use of a keyboard or mouse, the twobuilder tools are rendered interactive with the user.

A work station grid area may have holes disposed on one inch centers, orany other predetermined pattern. The columns of holes may be identifiedby letters while the rows of locating holes may be identified bynumbers. Thus each hole can be uniquely identified by a letter-numbercombination.

Work station units or peripherals have been designed which have elementswhich cooperate with the grid locating holes and thus facilitate theexact location of each station. When located on the grid each workstation will have a unique describer positively identifying itslocation.

Thus the user may commence operating the system by viewing a graphicrepresentation of the work area surrounded by icons representing variouswork stations. As will be described below the user can quickly design anew template if so desired. Alternatively, the template may be called upfrom a disk by the computer.

The steps of the process are communicated to the computer through theuse of an interactive peripheral such as a mouse. The operator locatesthe mouse cursor on the icon representing the first step of the processand drags the icon to the desired location. Thus by pointing andclicking the mouse the work stations necessary to accomplish the stepsof the process are disposed on the graphic grid. It is of coursedesirable that the physical workstations be located on the grid in thelocations shown on the display. Alternatively, the location of the workstation can be fed into the computer in other ways, such as through thekeyboard or even by locating the physical work station on the grid withfeedback to the computer identifying the work station and location.

Thus an unsophisticated user has the ability to design processes quicklyimparting great flexibility to this apparatus. It should of course berecognized that this information can be stored on a disk and theapparatus set up accomplished by reading the information off a disk intothe memory of the computer.

In creating the template the operator uses a mouse to draw replicas ofeach station on the screen, such as shown in FIG. 7, a template buildingscreen. Each station is given a unique identification which may be aname, symbol or code. The dimensions of the station may be drawn on thescreen and in particular it is essential that the height of the workstation is recorded. The position, identification, height and otherdimensional criteria are stored in the RAM memory of the computer CPU.When the template is completed it may be stored to disk as a templatefile, to be recalled as needed.

As is not unusual in the operation of computers, provisions are made toadd, delete, move, resize or duplicate any of the stations. Anyavailable template previously stored may be recalled to be used or toassist in the creation of new templates. Of course the apparatus mayhave the ability to enable the operator to print out a graphic replicaof the screen and a list of station positions, identifications, heightsor other dimensions.

Once the template is complete the operator may use the stations of thetemplate to create a process, step by step.

The process builder, like the template builder, uses a graphic replicaof the workstation area on the computer screen, such as shown in FIG. 8,a process building screen. One of the templates previously created bythe template tool builder described above, is recalled from memory anddisplayed on the screen together with the work area. The screen cursoris moved to the desired station icon and the particular station isselected. This procedure may utilize a mouse and a point and clickprocedure.

Each station of the process is selected in sequence and the station isthen added to a list denoting the steps of the process in sequentialorder. The robotic device would ultimately be controlled to move to eachof these stations in the order in which they were added the processlist. Since the characteristics of each work station were previouslystored in the computer, the robotic device would be programmed for theproper movement. For example, the height of each station was previouslystored in the memory, and if the robotic arm were to traverse the areain which a high work station was located, it would be instructed toelevate the hand so that any sample mounted thereon would clear the highwork station. It is also possible to design the operational area to haveclear paths or lanes defining travel routes for the robotic device 10.In any event, the movement of the robotic device among the workstationsmay be designed to be free of collisions based upon recognition of theentity, position and geometry of the work stations. As will appreciatedas the number of work stations increase the amount of information thatshould be considered in order to avoid collisions and otherwise avoidconflicts in instructions also increases.

Following the graphic design of the steps of the process, the processlist would be called up on the screen and the procedure for each stepwould be imparted, such as shown in FIG. 9. This procedure wouldessentially indicate a range of time each sample should remain at eachstation. For each step a minimum time and a maximum time for the sampleto remain at the work station would be recorded. As noted herein, theminimum time may be specified to be zero, and the maximum time may bespecified to be infinity. The times for each station, except where thetiming is critical, would allow the system a timing window which can beused to avoid timing conflicts between different steps of separate tasksand thus maximize the multitasking capabilities of the apparatus.

Pseudocode for Designing or Running New Processes

The method carried out by the control station 14 for template buildingand process building may be described by pseudocode shown in Tables 2-3herein, respectively. It would be clear to one of ordinary skill in theart, after perusal of the specification, drawings and claims herein,that modification of known processor systems to perform the functionsdisclosed in this pseudocode (as well as in other pseudocode disclosedherein) would be a straightforward task and would not require undueexperimentation.

                  TABLE 2                                                         ______________________________________                                        Template Builder                                                              ______________________________________                                        procedure template.sub.-- tool();                                             set up screen;                                                                draw robot replica graphic;                                                   draw grid;                                                                    display mouse cursor;                                                         select template design tool;                                                  while (not finished)                                                          select tool;                                                                  case (edit tool)                                                              add:           draw new station on screen via mouse by                                     dragging mouse away from start point while                                    having mouse button 1 depressed;                                              update screen with a rectangle being                                          displayed along cursor displacement;                                          enter id via keyboard;                                                        position height of station;                                                   store position and id;                                           select:        move cursor to station via mouse;                                           click mouse to select;                                                        selected station changes color to show it is                                  selected;                                                        delete:        click mouse button 1 to delete;                                move:        place move crosshair on selected station;                                     place cursor on crosshair;                                                    press mouse button 1 down and drag station to                                 new position;                                                                 screen update after each new grid position                                    move;                                                            resize:        place resize crosshair on selected                                          station;                                                                      place cursor on crosshair;                                                    press mouse button 1 down and drag station to                                 new size;                                                                     screen update after each new size;                               duplicate:     get current selected station position, size                                 and height information;                                                       offset duplicate to new position;                                             add id;                                                                       store new station position and id;                               ______________________________________                                    

                  TABLE 3                                                         ______________________________________                                        Process Builder                                                               ______________________________________                                        procedure process.sub.-- tool();                                              set up screen;                                                                draw robot replica graphic;                                                   draw grid;                                                                    draw process list;                                                            display mouse cursor;                                                         case (file tool)                                                              get template:    display list of template files;                                             select via mouse cursor;                                                      open selected template;                                                       display template stations on screen;                                          hold station record in RAM;                                    get process:     display list of process files;                                              select via mouse cursor;                                                      open selected process;                                                        display process list in list window;                                          display associate template stations on                                        the screen;                                                                   hold process station records in RAM;                           save process:    display list of process files;                                              select via cursor or enter new name via                                       keyboard;                                                                     store process file to disk;                                    case (file tool) end;                                                         case (select.sub.-- tool):                                                    if cursor in work station area and on a station and mouse                     button 1 down then add station to process list;                               if cursor in process list and on list member and mouse                        button 1 down the delete from list;                                           case (select.sub.-- tool) end;                                                case (window select)                                                          Process List:    (1) set up screen;                                                          (2) display process in list mode;                                             (3) enter min/max time via keyboard;                                          (4) scroll down screen;                                                       (5) do steps 3-4 until finished;                                              (6) exit back to previous window;                              Run/Control:     return to Run/Control window;                                end (process tool);                                                           ______________________________________                                    

After the station sequence has been entered and the times for each steprecorded, the process may be stored to disk as a process file. Theprocess file may be loaded in the future and the apparatus used to runthe same process at a later date. Of course the template file may belinked to the process file so that when a process is called up fromstorage and run on the computer the template files used in the processmay be automatically called up and displayed on the computer screen.

The procedure list on which the times at each step were recorded may becalled up at any time and for the stations still not used by the roboticdevice, adjustments to the timing could be made provided that the stepsin the process which are to have their timing altered have not beenreached. Thus the operator can adjust the timing of the steps even asthe process is running.

Visual Operator Interface

FIG. 6 shows a multitask monitoring screen 61 as viewed by an operator.A multitask monitoring screen 61 may be shown on a display devicecoupled to the computer 15, such as a display monitor. The multitaskmonitoring screen 61 may comprise a display section 62, a menu section63, and a status section 64.

The display section 62 may show a representation of the robotic device10, bench top 11, holes 12, work modules 13, and related equipment. Forexample, the display section 62 may show positions for workstations 13for a selected process.

The menu section 63 may show command options and suboptions which areavailable to the operator and may allow the operator to select one ormore command options and suboptions. For example, the menu section 63may have a menu with the command options "GET PROCESS", "BUILD PROCESS","PROCESS LIST", "GET TEMPLATE" and "BUILD TEMPLATE". The operator maydisplay available command options and select one or more command optionsin the menu section 63, by means of a pointing device, such as a mouse,as is well known in the art.

The status section 64 may show a set of status information aboutprocesses. For example, the status section 64 may show five processeswhich are in progress, and may show for each process the current step itis on, the total time it has taken (both for the current step and forthe entire process), and the time remaining that it will take (both forthe current step and for the entire process). Note that elapsed time forthe current step may be zero because the robotic device 11 might waitfor the proper time before depositing the sample in the workstation 13for that process step, e.g., holding the sample in the robotic hand 23if travel from a prior step took less time than expected. The statussection 64 may also show the X, Y and Z position of the robotic arm.

FIG. 7 shows a template building screen 71 as viewed by an operator. Atemplate building screen 71 may be shown on a display device coupled tothe computer 15, such as a display monitor, in like manner as themultitask monitoring screen 61. The template building screen 71 maycomprise a display section 62, a menu section 63, and a status section64, in like manner as the multitask monitoring screen 61.

When using the template building tool, described herein, the operatormay view the template building screen 71 and manipulate the commands andelements thereon by means of a pointing device, such as a mouse. Adetailed description of how the operator may use the template buildertool is given herein.

FIG. 8 shows a process building screen 81 as viewed by an operator. Aprocess building screen 81 may be shown on a display device coupled tothe computer 15, such as a display monitor, in like manner as themultitask monitoring screen 61. The process building screen 71 maycomprise a display section 62, a menu section 63, and a status section64, in like manner as the multitask monitoring screen 61, and aworkstation section 85.

The workstation section 85 may show a set of names or other identifiersof workstations 13. The operator may select one or more workstations 13for inclusion in a process, by means of a pointing device, such as amouse.

When using the process building tool, described herein, the operator mayview the process building screen 81 and manipulate the commands andelements thereon by means of a pointing device, such as a mouse. Adetailed description of how the operator may use the process buildertool is given herein.

FIG. 9 shows a process timing screen 91 as viewed by an operator. Aprocess timing screen 91 may be shown on a display device coupled to thecomputer 15, such as a display monitor, in like manner as the multitaskmonitoring screen 61. The process timing screen 91 may comprise aplurality of lines 92, each of which may have an identifier section 93,a name/descriptor section 94, a minimum time section 95 and a maximumtime section 96.

When using the process building tool, described herein, the operator mayview the process timing screen 91 and enter minimum times (in theminimum time section 95) and maximum times (in the maximum time section96) for each process step at each line 92. Each process step may thushave a line 92 with an identifier in the identifier section 93 and aname or descriptor in the name/descriptor section 94.

The minimum time section 95 for a line 92 may specify a minimum timewhich the designated process step may take, which might be zero. If theminimum time is zero, additional data may be noted to indicate whetherthe designated process step may take a single tick of a timing clock forthe robotic device 10, or if the designated process step may be skippedentirely.

The maximum time section 96 for a line 92 may specify a maximum timewhich the designated process step may take, which might be infinity. Ifthe maximum time is infinity, the system may delay completion of thedesignated process step until after all other process steps with finitemaximum time have been completed.

Each line 92 may also have an additional data section 97 for thedesignated process step, which may specify whether (1) the step is to bedone, (2) the step is to be skipped, or (3) the process is to be "held"or temporarily halted at the designated process step for input from theoperator. In the latter case, for example, the process might be "held"at the designated process step until an operator confirms that theprocess should continue.

Multitasking and Optimization

Having delineated all the steps of all the procedures, the computer maydetermine the most efficient manner for carrying out the procedure. Thetask would be simple if the steps of the first process were to becompleted before the apparatus started on the second process. Throughthe use of time interleaving, multiplexing or multitasking the computeris utilized to keep track of multiple operations so as to perform anumber of different processes each having a multiplicity of stepssimultaneously.

In multitasking, a number of samples, each undergoing separate exposuresmay all be worked on simultaneously. In time interleaving, the roboticarm may operate through a sequence which is determined by the timing ofthe individual steps of many processes and the robotic arm transportsdifferent samples in a time efficient sequence rather than a processordered sequence. Although the robotic device can only move one sampleto a work station at a time, the entire system is continuouslymonitoring, scheduling and processing all tasks and their times at eachstation concurrently. At each step the process performed at thatworkstation continues (e.g., chemical reactions) even when the roboticarm is not currently attending to it. In other words, the sample isdisposed in the workstation and the robotic arm continues to graspanother sample. The process step continues to work on the first samplewhile the robotic arm is attending or transporting the second sample.The multiple process steps that are being done, one to each sample, arebeing done in parallel and are not serial processes.

In fact the robotic arm works on a sample for a short period of timeduring which it usually transports a sample to a work station and thenleaves that sample and works on another sample or samples beforereturning again to the first sample. Thus the robotic device work oneach sample is suspended during the time interval that it is working onanother sample or during which the samples are being processed at a workstation.

The multitasking of the different processes is dependent upon theinstructions issued to the robotic device, relative to the timing ofeach of the steps in the multiple processes and the optimization of themultitasking operations, to move the samples at the scheduled timesdetermined by the computer inputs.

The computer control (software) may first determine all the roboticmovements necessary to complete the entire run of all the steps in allthe processes to be run. This determination may be completed before anymovement is initiated. If at any time during the running of themultitasking any steps are added to one or more of the processes or anyof the steps are reconfigured during the run, a new determination may becompleted wherein the computer recalculates all the movements necessaryto complete the run and insures that there is no time interferencecreated by the modification to the run. This method of predeterminingthe movements can of course be replaced by a real time method ofdetermining movement but it is believed that the predetermining methodis more advantageous. The predetermining method identifies timeconflicts, if any, where the robotic device would be required to performtwo tasks simultaneously, resolves any such conflicts that may exist,and optimizes the schedule for the minimum time required to complete theentire run of the multiple processes.

This method of predetermination employs certain decision makingprocedures which are designed to permit the computer to resolve timeconflicts and iteratively optimize the schedule. An iterativeoptimization method is used because the complexity of schedulingdifferent multiple tasks, each with the possibility of having multiplecritically timed steps, is too complex to be solved by usingmathematical techniques. In addition, the decision making rules allowthe resolution of other conflicting requirements for other resourcessuch as the peripheral equipment or work station modules, which may beused in conjunction with the robotic equipment.

As described above, a predetermined schedule may be developed to resolvetime and resource conflicts and the schedule may be iterativelyoptimized to minimize the time required to complete the steps of themultiple processes. In order to interleave the steps of the multipleprocesses each step of each task is examined at predetermined intervals,e.g., one minute. A calculation is made of the time to completion of thecurrent step. If the step incubation time is finished a move conditionresults. If that is the only move condition during this time, i.e., onlyone move condition occurs, the robotic device will be scheduled to moveto the next step in accordance with the predetermined schedule. However,if more than one sample is scheduled to move time arbitration ensues.Time arbitration determines the fuzzy time window for each of the timeconflicting steps and selects the sample in the most time critical stepto move. If more than one step has a critical time, the computercompares the times during the previous movement and varies the timing ofthe previous tasks to resolve or prevent bottlenecks from occurring. Ina similar manner a single resource can be scheduled to work on twodifferent samples during the same time period and such conflicts can beresolved in a similar manner using the arbitration method.

Pseudocode for Multitasking

The method carried out by the control station 14 for multitasking may bedescribed by pseudocode shown in Tables 4-8 herein. It would be clear toone of ordinary skill in the art, after perusal of the specification,drawings and claims herein, that modification of known processor systemsto perform the functions disclosed in this pseudocode (as well as inother pseudocode disclosed herein) would be a straightforward task andwould not require undue experimentation.

                  TABLE 4                                                         ______________________________________                                        Multitasking Data Structure                                                   ______________________________________                                        STRUCTURE TASK ARRAY   1500 elements !                                        BYTE        PROCESS NUMBER;                                                   BYTE        TASK NUMBER;                                                      CHAR  25!   TASK NAME;                                                        INTEGER       TASK X COORDINATE OF                                                          WORKSTATION;                                                    INTEGER       TASK Y COORDINATE OF                                                          WORKSTATION;                                                    LONG INTEGER  ENCODED REAL TIME FOR                                                         PICKUP OR DROPOFF;                                              CHAR  1!      DROPOFF/PICKUP FLAG;                                            CHAR  5!      MOVE.sub.-- FLAG;                                                       { When TRUE the process flagged needs to move to                              next task in progress. This information is entered into                       the task array. If multiple flags are set simultaneously                      the process steps must be arbitrated. }                               CHAR  5!    RESOURCE.sub.-- FLAG;                                                     { If set TRUE, two or more tasks require the same                             resource. Resource arbitration is done to resolve all                         conflicts. }                                                          ______________________________________                                    

                  TABLE 5                                                         ______________________________________                                        Multitasking (Build Schedule)                                                 ______________________________________                                        PROCEDURE BUILD.sub.-- MULTITASK SCHEDULE ()                                  { This routine is called a number of times with different                     seeding to build a statistical sampling of a number of                        schedules. The calling routine picks the most optimal schedule                to run. }                                                                     BEGIN                                                                         { Initialize timer and pick a process for first move. For                     iterative tasks, processes will be started in various orders to               seed task builder and establish different scheduling. At each                 timer tick all processes are examined to check whether it is                  time to move to next position. If TRUE the task will be                       entered into the task array at the scheduled time. If more                    than one process needs movement at the same timer tick, time                  arbitration ensues. If two or more processes need the same                    resource, resource arbitration is undergone. This process                     continues until all tasks in all processes are complete. }                    TIMER = 0;                                                                    START.sub.-- FIRST.sub.-- PROCESS;                                            WHILE NOT ALL PROCESSES STARTED DO BEGIN                                      INCREMENT TIMER BY 1;                                                         IF ANY TASK NEEDS MOVEMENT THEN                                                       SET TASK MOVE FLAG                                                            ELSE                                                                          START.sub.-- NEXT.sub.-- PROCESS;                                     IF MOVE.sub.-- FLAG > 1 THEN                                                  TIME.sub.-- ARBITRATE 0; {check for multiple moves }                          IF TASK.sub.-- MOVE THEN ADD                                                  TASK TO TASK.sub.-- ARRAY  TASK.sub.-- COUNTER!                               END;                                                                          WHILE NOT ALL PROCESSES COMPLETED DO BEGIN                                    INCREMENT TIMER BY 1;                                                         IF ANY PROCESS NEEDS MOVEMENT THEN                                            SET TASK MOVE FLAG;                                                           IF MOVE.sub.-- FLAG > 1 THEN                                                  TIME.sub.-- ARBITRATE 0; {check for multiple moves }                          IF TASK.sub.-- MOVE THEN ADD                                                  TASK.sub.-- ARRAY  TASK!; {check for resource use }                           END;                                                                          END;                                                                          ______________________________________                                    

                  TABLE 6                                                         ______________________________________                                        Multitasking (Time Arbitrate)                                                 ______________________________________                                        PROCEDURE TIME.sub.-- ARBITRATE ()                                            { If two or more processes must be moved simultaneously, the                  times are arbitrated, first by examining fuzzy time range and                 adjusting those process tasks with fuzzy time. If the                         colliding processes are critically timed the processes' prior                 tasks are rearranged to circumvent the collision. This                        procedure is called in REARRANGE.sub.-- ARRAY (). }                           INTEGER    FUZZY.sub.-- TIME.sub.-- {COMP = MAX.sub.-- TIME; {set the                    compares to a maximum value }                                      BYTE CRITICAL.sub.-- FLAG                                                                        = 0; { initialize critical flag }                          BYTE CRITICAL.sub.-- FLAG.sub.-- ARRAY  5! = { 0, 0, 0, 0, 0 };               BEGIN                                                                         FOR I = 1 TO MAX.sub.-- PROCESSES                                                      IF (PROCESS  I!.MOVE.sub.-- FLAG.sub.-- SET AND                               FUZZY.sub.-- TIME  I! < FUZZY.sub.-- TIME.sub.-- COMP)                        THEN BEGIN                                                                      TASK MOVE = I;                                                                { finds shortest fuzzy time }                                                 FUZZY.sub.-- TIME.sub.-- COMP = FUZZY.sub.-- TIME  I!;                        IF (FUZZY.sub.-- TIME = 0) THEN BEGIN                                            SET CRITICAL.sub.-- FLAG;                                                     SET CRITICAL.sub.-- ARRAY  TASK!;                                             END;                                                                       END;                                                               { If two or more processes need to move immediately a                         rearrangement of earlier interleaved tasks occurs to                          settle conflicts at this point if a fuzzy time range                          settle the conflict the process with the shortest fuzzy                       time value is set to move. }                                                  IF CRITICAL.sub.-- FLAG > 1 THEN REARRANGE.sub.-- ARRAY ();                   ELSE                                                                          ADD TASK.sub.-- ARRAY  TASK.sub.-- MOVE!;                                     END;                                                                          ______________________________________                                    

                  TABLE 7                                                         ______________________________________                                        Multitasking (Resource Arbitrate)                                             ______________________________________                                        PROCEDURE RESOURCE.sub.-- ARBITRATE ()                                        { If two or more processes need the same resource (physical                   location), fuzzy times for the processes in question are                      examined to evaluate whether the time slack can settle the                    conflict. If not, the processes prior tasks are rearranged to                 circumvent the collision. }                                                   BYTE CRITICAL.sub.-- FLAG                                                                        = 0; { initialize critical flag }                          BYTE CRITICAL.sub.-- FLAG.sub.-- ARRAY  5! = { 0, 0, 0, 0, 0 };               BEGIN                                                                         { Compare process task fuzzy time with other process actual                   task time. }                                                                  COMPARE CRITICAL.sub.-- PROCESS.sub.-- 1.sub.-- FUZZY.sub.-- TIME             WITH CRITICAL.sub.-- PROCESS.sub.-- 2.sub.-- TASK.sub.-- TIME;                        IF >TASK.sub.-- MOVE = PROCESS.sub.-- 2;                                      ELSE                                                                  COMPARE CRITICAL.sub.-- PROCESS.sub.-- 2.sub.-- FUZZY.sub.-- TIME             WITH CRITICAL.sub.-- PROCESS.sub.-- 1.sub.-- TASK TIME;                               IF >TASK.sub.-- MOVE = PROCESS.sub.-- 1;                              IF TASK.sub.-- MOVE TRUE                                                              ADD TASK.sub.-- ARRAY  TASK.sub.-- MOVE!;                             ELSE BEGIN                                                                            SET CRITICAL.sub.-- FLAG;                                                     SET CRITICAL.sub.-- FLAG.sub.-- ARRAY  TASK!;                                 REARRANGE.sub.-- TASK.sub.-- ARRAY ();                                END;                                                                                  END;                                                                  ______________________________________                                    

                  TABLE 8                                                         ______________________________________                                        Multitasking (Rearrange Tasks)                                                ______________________________________                                        PROCEDURE REARRANGE.sub.-- TASK.sub.-- ARRAY ()                               { To prevent conflicts which cannot be arbitrated with fuzzy                  timing the processes in conflict are examined at their previous               step(s) and timing adjusted in that task to remedy the conflict               at the current task. After time adjustment of the critical                    process the task array is reset to the newly adjusted position                and returns to the multitask builder and reworks the rest of                  the tasks in all processes. }                                                 BEGIN                                                                         { Find the last time the critical process was moved. }                        REPEAT                                                                                POSITION = POSITION - 1;                                              UNTIL TASK.sub.-- ARRAY  POSITION! =                                          CRITICAL.sub.-- FLAG.sub.-- ARRAY  TASK!;                                     { Adjust timer. }                                                             INCREMENT TASK  TASK.sub.-- ARRAY                                              POSITION!.MIN.sub.-- TIME! BY X;                                             { Reset position and time. }                                                  SET POSITION TO CURRENT TASK.sub.-- ARRAY VALUE;                              SET TIMER TO CURRENT TASK.sub.-- ARRAY VALUE;                                 RETURN TO MULTITASK.sub.-- BUILDER;                                           END;                                                                          ______________________________________                                    

It would be clear to one of ordinary skill in the art, after perusal ofthe specification, drawings and claims herein, that there is a multitudeof interleave paths that can be taken to achieve multitasking of aplurality of processes. Each path will in all probability have adifferent time to complete all of the steps of all of the processes. Inview of this it will be appreciated that for optimum efficiency it isnecessary to select the optimum path which will take the minimum time tocomplete. As a practical matter an iterative process can be used inwhich the interleave path is computed several times. Each time theinterleave variables are iterated they are ordered and computeddifferently so that different results are obtained for each iteration.The number of iterations necessary to arrive at an optimized path can becomputed statistically by taking the number of steps in each task andthe number of tasks to be performed. Since run time of the pathscalculated from the numerous iterations follow a normal distributioncurve, the minimum number of iterations necessary to achieve a path thatwill be among the faster run times can be calculated.

One technique for computing an optimal interleave path may compute a setof interleave paths by iterating a selected number of times in responseto the number of steps in each task and the number of tasks to beperformed. The number of iterations may alternatively be selected to bea fixed number, such as 20 iterations, that may be altered in responseto a command from an operator.

In a preferred embodiment, multiple tasks may be run with disjointworkstations, since it is possible that a reagent, or other chemoactiveor bioactive compound or mixture, at a workstation will be contaminatedby the sample tissue on the slide. However, where it is believed thatcontamination would be minimal, or at least that effects of suchcontamination would be minimal, it would alternatively be preferable toshare resources such as standard buffers, washes, and pads. In thisalternative embodiment, a source for a standard buffer or wash would bemade available by means of an automatic replenisher having a combinationof a reservoir and valve, disposed to maintain a constant level ofliquid available for dipping a slide, similar to a bird feeder.

In an alternative embodiment, it may be preferable to design protocolsfor multiple simultaneous tasks to use a maximum set of common reagentsor workstations. It would be preferable to design such protocols in twoparts, part 1 and part 2, separated by a selected time, so that a set ofresources used in part 1 of the protocol are not used in part 2 of theprotocol. With this design, a resource arbitration technique may moreeasily distinguish when it is possible to start a second instantiationof the same protocol.

A preferred set of protocols are shown in this specification, herebyincorporated by reference as if fully set forth herein. These protocolsare Copyright 1994 Biotek Solutions, Inc., and their inclusion in thispatent application is not a waiver of copyright or any of the rightsafforded by copyright.

Each protocol is intended for operation on the TechMate (TM) roboticcontroller (available from Biotek Solutions, Inc. of Santa Barbara,Calif.), and includes the following sections:

a protocol program name, a brief title, and an expanded title;

a summary of the running time;

a description of the principles of operation for the protocol;

a description of the nature of the specimen(s) the protocol is intendedto operate upon;

a description of the nature of the preparation for the specimen(s) theprotocol is intended to operate upon;

a description of the nature of the preparation for chemical reagents theprotocol is intended to operate with;

a description of the procedure used in operation of the protocol;

a description of the expected results from operation of the protocol;

a description of references for further information about the principlesof operation for the protocol;

an ordered listing of program steps; and

a map template for operation of the protocol.

For each protocol, the ordered listing of program steps comprises fivecolumns:

a sequence number, indicating a step number for the indicated programstep;

a protocol operation name, indicating a protocol operation to beperformed at the indicated step number;

a minimum time duration, indicating a minimum duration the indicatedprotocol operation may be performed, in hours, minutes, and seconds;

a maximum time duration, indicating a maximum duration the indicatedprotocol operation may be performed, in hours, minutes, and seconds; and

an indicator of whether the step is actually performed, where "Y"=yesand "N"=no; or an oven temperature may be designated.

The protocol operation may comprise one of the following:

100% 100% ethanol

50% EtOH 50% ethanol

5N HCL 5 normal hydrochloric acid

AALC absolute alcohol

AB1 primary antibody--AB1A and AB1B also indicate a primary antibody

AB2 secondary antibody

ABC avidin biotin conjugate

AP alkaline phosphatase (enzyme detection)

BLECH bleach

BLOK blocking antibody, i.e., a bioactive agent that blocks secondaryantibodies that are already present in the robotic system

BUFxxx a phosphate buffer, as noted herein

CHROM GEN a chromagen

DAB diamino benzidine

ENZ an enzyme, e.g., to help open up antigenic sites

EOSIN eosin

FK a fluorescent chromagen

H2O water

HEMA hematoxylin

HI WASH a high stringency (high ionic concentration) wash, typicallyused for DNA probes

HOME a "home" location for starting and/or stopping an assay protocol

HP HP block, e.g., to block enzymes that are endogenous to the roboticsystem

HYPO sodium thiosulfate, a reducing agent used to remove somemercury-based fixatives

IO iodine

IP an immunoserum, e.g., for enzyme detection

LO WASH a low stringency (low ionic concentration) wash, typically usedfor DNA probes

ME BL methylene blue stain

PADxxx a blotter, preferably 1/2 inch thick

PARK a location to wait until a next step

PROBE a DNA probe

SCHIF Schiff reagent for a Schiff reaction

STN a stain

XY xylene

Those skilled in the art will recognize, after perusal of thisapplication, that other and further protocol operations, reagents,chemoactive or bioactive compounds, buffers, or other substances wouldbe workable with the devices and substances disclosed herein, and arewithin the scope and spirit of the invention.

Alternative Embodiments

While preferred embodiments are disclosed herein, many variations arepossible which remain within the concept, scope, and spirit of theinvention, and these variations would become clear to those skilled inthe art after perusal of this application.

For example, it would become clear to those skilled in the art that thedevices and techniques described herein would be applicable to otherprocesses, subject to standardization and robotic operation, and thatsuch application would be within the concept, scope, and spirit of theinvention. Such processes could include those related to developing filmand those related to manufacture or testing of electronic circuits,printed circuit boards, or semiconductor wafers.

For a second example, it would become clear to those skilled in the artthat the devices and techniques described herein for use with liquidwould generally be applicable to processes using other flowablesubstances, including colloids, gels, or powders, and that suchapplication would be within the concept, scope, and spirit of theinvention.

We claim:
 1. In a system for performing a plurality of independentanalysis procedures simultaneously, each said procedure having a sampleand at least one process step for operating on that sample, a device forcoupling a robotic hand to a slide holder, comprisinga first horizontalelement defining a first hole adapted to be coupled with said robotichand; a second horizontal clement disposed above said first horizontaland adapted to limit said first horizontal element from motion in avertical direction, a defining a second hole; a third horizontal elementdisposed below said first horizontal element and adapted to limit saidfirst horizontal element from motion in a vertical direction, anddefining a third hole; said second hole disposed with at least someexposed area that is not exposed by said first hole, and said third holedisposed with at least some exposed area that is not exposed by saidfirst hole, whereby said first horizontal element is capable of movingin response to coupling by said robotic hand by passing said robotichand through said second hole and interacting with said first hole.
 2. Adevice as in claim 1, comprising a bumper disposed above said firsthorizontal element.
 3. A device as in claim 1, comprising a guidingmember coupled to said first horizontal element, whereby smallmisalignments by said robotic hand cause said first horizontal elementto move in response to coupling by said robotic hand.
 4. A device as inclaim 3, wherein said guiding member comprises a lip surrounding atleast a part of said first hole.
 5. A device as in claim 1, comprisingmeans for coupling said second horizontal element to a frame.
 6. Adevice as in claim 1, comprising means for coupling said secondhorizontal element to said third horizontal element, whereby said secondhorizontal element and said third horizontal element define a space fordisposing said first horizontal element.
 7. A device as in claim 1,wherein at least one of said second and third holes is substantiallyelliptical.
 8. A device as in claim 1, wherein said first hole issubstantially elliptical.
 9. A device as in claim 1, wherein said firsthorizontal element comprises a disk.
 10. A device as in claim 1, whereinsaid first horizontal element is substantially thinner than at least oneof said second horizontal element and said third horizontal element. 11.In a system for performing a plurality of independent analysisprocedures simultaneously, each said procedure having a sample and atleast one process step for operating on that sample, a device forcoupling a robotic hand to a slide holder, comprising:a first horizontalelement defining a first hole adapted to be coupled with said robotichand; a second horizontal element disposed above said first horizontaland adapted to limit said first horizontal element from motion in avertical direction, a defining a second hole; a third horizontal elementdisposed below said first horizontal element and adapted to limit saidfirst horizontal element from motion in a vertical direction, anddefining a third hole; said second hole disposed with at least someexposed area that is not exposed by said first hole, and said third holedisposed with at least some exposed are that is not exposed by saidfirst hole, whereby said first horizontal element is free to move in thehorizontal plane and able to move in a limited fashion in the verticaldirection in response to coupling by said robotic hand by passing saidrobotic hand through said second hole and interacting with said firsthole.